package com.chb.service;

import com.chb.model.entity.OutLibray;
import com.chb.model.vo.BranchGoodsVo;
import com.chb.model.vo.Result;

import java.util.List;

/**
 * @author: 陈海彬
 * @date: Created in 2023/9/28 20:02
 * @description:
 * @modified By:
 * @version:
 */
public interface OutLibrayService {

    /**
     * @param branchid 模糊查询的门店id
     * @param page     当前的页数
     * @param pageSize 每页展示的数量
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 查询该门店下的入库信息
     * @create time: 2023/9/28 20:01
     */
    public Result getInformation(Integer branchid, Integer page, Integer pageSize);

    /**
     * @param branchGoodsVoList 入库商品vo数组
     * @param outmethod         零售或批量状态
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 进行批量添加入库商品
     * @create time: 2023/9/28 21:18
     */
    public Result addOutLibray(List<BranchGoodsVo> branchGoodsVoList, Integer outmethod);


    /**
     * @param page     当前页
     * @param pageSize 每页最大数
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 出库审核需要的数据
     * @create time: 2023/9/29 0:38
     */
    public Result getWarehouseInfo(Integer page, Integer pageSize, Integer branchid);

    /**
     * @param cid 出库编号
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 根据出库编号查询出库详情
     * @create time: 2023/9/29 8:34
     */
    public Result getOutInfoByCid(Integer cid, Integer page, Integer pageSize);

    /**
     * @param outLibray 出库商品信息
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 对出库商品进行审核
     * @create time: 2023/9/29 9:13
     */
    public Result warehouseAudit(OutLibray outLibray);

    /**
     * @param branchGoodsVoList
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 获取当前商品库存是否满足平调或出库
     * @create time: 2023/10/12 20:35
     */
    Result getOutLibrayCount(List<BranchGoodsVo> branchGoodsVoList);
}
